#ifndef _COMMUNICATOR_H_
#define _COMMUNICATOR_H_

#include "file.h"
#include "folder.h"
#include "communicatorerror.h"

#include <QDBusInterface>

namespace Tubox {

class Communicator {
public:
	Communicator() throw(CommunicatorError);
	~Communicator();

	void fileDownloaded(const File& file) throw(CommunicatorError);
	void fileCreated(const File& file) throw(CommunicatorError);
	void fileUploaded(const File& file) throw(CommunicatorError);
	void fileRenamed(const File& oldFile, const File& newFile) throw(CommunicatorError);
	void folderCreated(const Folder& folder) throw(CommunicatorError);
	void folderRenamed(const Folder& oldFolder, const Folder& newFolder) throw(CommunicatorError);
private:
	QDBusInterface* iface;
};

}

#endif // _COMMUNICATOR_H_
